﻿using RuoVea.OmiApp.Template.Dto;
using RuoVea.ExDto;
using RuoVea.OmiApp.Template.Entitys;

namespace RuoVea.OmiApp.Template.Service
{
    /// <summary>
    /// 字典值
    /// </summary>
    public interface ISysDictValueService
    {
        /// <summary>
        /// v
        /// </summary>
        Task<RestfulResult> AddDataAsync(SysDictValueDto data);
        /// <summary>
        /// 修改字典值状态
        /// </summary>
        Task<RestfulResult> ChangeDictDataStatus(ChageStateDictValueInput data);
        /// <summary>
        /// 删除字典下所有值
        /// </summary>
        Task DeleteByTypeId(long dictTypeId);
        /// <summary>
        /// 删除
        /// </summary>
        Task<RestfulResult> DeleteDataAsync(long id);
        /// <summary>
        /// 根据主键查询
        /// </summary>
        Task<RestfulResult<SysDictValueDto>> GetDataAsync(long id);
        /// <summary>
        /// 获取系统参数配置列表
        /// </summary>
        Task<List<SysDictValue>> GetDataList();
        /// <summary>
        /// 获取某个字典类型下字典值列表
        /// </summary>
        Task<RestfulResult<List<Dictionary<string, string>>>> GetDictDataListByCode(QueryDictValueListByCodeInput data);
        /// <summary>
        /// 根据字典类型Id获取字典值集合
        /// </summary>
        Task<List<SysDictValue>> GetDictValueListByDictTypeId(long dictTypeId);
        /// <summary>
        /// 查询所有/分页
        /// </summary>
        Task<RestfulResult<PageResult<SysDictValueDto>>> GetPagesAsync(SysDictValueParam data);
        /// <summary>
        /// 修改
        /// </summary>
        Task<RestfulResult> UpdateDataAsync(SysDictValueDto data);
    }
}